package com.charley.icloud.admin.webapps.sysuser.pojo.model;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * Model层：展示对象
 *
 * @author charley
 * @date 2024-04-24 09:54
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "SysUserVO", title = "用户VO")
public class SysUserVO {

    @Schema(title = "用户ID")
    private Long id;

    @Schema(title = "用户账号")
    private String account;

    @Schema(title = "用户名称")
    private String username;

    @Schema(title = "用户昵称")
    private String nickName;

    @Schema(title = "头像")
    private String headImgUrl;

    @Schema(title = "手机号")
    private String phone;

    @Schema(title = "邮箱")
    private String email;

    @Schema(title = "性别： 1男2女0隐藏")
    private Integer sex;

    @Schema(title = "用户账号状态")
    private Byte status;

    @Schema(title = "用户类型")
    private String type;

    @Schema(title = "会员用户身份级别")
    private Byte level;

    @Schema(title = "会员有效期截止时间")
    private String validityTime;

    @Schema(title = "账号失效时间")
    private String expiredTime;

    @Schema(title = "最近修改密码时间")
    private Date lastChangePwdTime;

    @Schema(title = "最后登录时间")
    private Date lastLogin;

    @Schema(title = "限制允许登录的IP集合")
    private String limitedIp;

    @Schema(title = "是否允许账号同一个时刻多人在线")
    private Character limitMultiLogin;

    @Schema(title = "账号创建操作者")
    private String createBy;

    @Schema(title = "新账号创建时间")
    private String createTime;

    @Schema(title = "更新操作者")
    private String lastUpdateBy;

    @Schema(title = "更新时间")
    private String lastUpdateTime;

    @Schema(title = "删除标记")
    private Byte delFlag;
}
